package cn.getech.data.development.model.vo;

import cn.getech.data.intelligence.common.validator.group.AddGroup;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.List;

/**
 * <p>
 * 保存原始数据和模型的映射信息
 * </p>
 *
 * @author hujz
 * @since 2019-08-21
 */
@Data
@ApiModel(value = "保存原始数据和模型的映射信息")
public class AnalysisMessageModelConfSaveVO implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 分析任务id编号
     */
    @ApiModelProperty(value = "分析任务id编号",required = true)
    @NotNull(message = "分析任务id编号",groups = AddGroup.class)
    private Integer id;

    /**
     * 模型id
     */
    @ApiModelProperty(value = "模型id",required = true)
    @NotNull(message = "模型id",groups = AddGroup.class)
    private Integer modelInfoId;

    /**
     * kafka数据源连接id
     */
    @ApiModelProperty(value = "kafka数据源连接id",required = true)
    @NotNull(message = "kafka数据源连接id",groups = AddGroup.class)
    private Integer connectId;

    /**
     * 返回的数据
     */
    @ApiModelProperty(value = "返回的数据",required = true)
    @NotBlank(message = "返回的数据",groups = AddGroup.class)
    private String messageData;


    /**
     * 分区配置
     */
    @ApiModelProperty(value = "分区配置",required = true)
//    @NotEmpty(message = "分区配置",groups = AddGroup.class)
    private String outputDataPartition;


    /**
     * 数据仓库的id
     */
    @ApiModelProperty(value = "数据仓库的id",required = true)
    @NotNull(message = "数据仓库的id",groups = AddGroup.class)
    private Integer tableInfoId;

    /**
     * 映射关系集合
     */
    @ApiModelProperty(value = "映射关系集合")
    private List<AnalysisInfoMappingConfigVO> analysisInfoMappingConfigVOList;


}
